#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/moduleparam.h>


#define LOGTAG "HELLO_DEMO"

#define XXD(fmt, args...) do { \
    printk("["LOGTAG"_DBG]%s:"fmt"\n", __func__, ##args); \
} while (0)

#define XXI(fmt, args...) do { \
    printk("["LOGTAG"_INF]%s:"fmt"\n", __func__, ##args); \
} while (0)

#define XXE(fmt, args...) do { \
    printk("["LOGTAG"_ERR]%s:"fmt"\n", __func__, ##args); \
} while (0)

#define XXD_BUF(prefix, data, len) do { \
        print_hex_dump(KERN_DEBUG, "["LOGTAG"_DBG]:"prefix":", DUMP_PREFIX_OFFSET, 32, 1, data, len, false); \
} while (0)

#define XXI_BUF(prefix, data, len) do { \
        print_hex_dump(KERN_DEBUG, "["LOGTAG"_INF]:"prefix":", DUMP_PREFIX_OFFSET, 32, 1, data, len, false); \
} while (0)

#define XXE_BUF(prefix, data, len) do { \
        print_hex_dump(KERN_DEBUG, "["LOGTAG"_ERR]:"prefix":", DUMP_PREFIX_OFFSET, 32, 1, data, len, false); \
} while (0)
